683968dd07d5dce8e77b599b519de4d32c8f1171,examples/it.xsemantics.example.fj/xsemantics-gen/it/xsemantics/example/fj/typing/FjTypeSystem.java,FjTypeSystem,applyRuleRNew,#RuleEnvironment#RuleApplicationTrace#New#,1827

Before Change


    New exp1 = null; // output parameter
    New _clone = this.<New>clone(exp);
    exp1 = _clone;
    EList<Expression> _args = exp1.getArgs();
    final Predicate<Expression> _function = new Predicate<Expression>() {
      public boolean apply(final Expression it) {
        Boolean _isValue = FjTypeSystem.this.isValueInternal(_trace_, it);

After Change


  
  protected Result<Expression> applyRuleRNew(final RuleEnvironment G, final RuleApplicationTrace _trace_, final New exp) throws RuleFailedException {
    New exp1 = null; // output parameter
    exp1 = this.<New>clone(exp);
    final Predicate<Expression> _function = new Predicate<Expression>() {
      @Override
      public boolean apply(final Expression it) {
        Boolean _isValue = FjTypeSystem.this.isValueInternal(_trace_, it);
        return (!(_isValue).booleanValue());
      }
    };
    final int indexOfNextToReduce = Iterables.<Expression>indexOf(exp1.getArgs(), _function);
    /* { indexOfNextToReduce < 0 } or { val nextToReduce = exp1.args.get(indexOfNextToReduce) G |- nextToReduce ~> var Expression expi exp1.args.set(indexOfNextToReduce, expi) } */
    {
      RuleFailedException previousFailure = null;